#pragma once
#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
#include<string.h>


void Swap(int* p1, int* p2);

void PrintArray(int* a, int n);

void BubbleSort(int* a, int n);

void SelectSort(int* a, int n);

void InsertSort(int* a, int n);

void ShellSort(int* a, int n);

void HeapSort(int* a, int n);

void AdjustDown(int* a, int n, int parent);

int midiGet(int* a, int begin, int end);

void QuckilySort(int* a, int begin, int end);

int PartSort3(int* a, int begin, int end);

int PartSort1(int* a, int begin, int end);

int PartSort2(int* a, int begin, int end);

void MergeSort(int* a, int begint, int end);

void _MergeSort(int* a, int begin, int end, int* tmp);

void QuckilySortNonR(int* a, int begin, int end);

void MergeSort2(int* a, int n);

void CountSort(int* a, int n);
